package whut.edu.block;
/*
代码块
1.局部代码块：位于方法中，用{}包住，结束后释放内存
2.构造代码块：位于类中方法外，{}包住，生成字节码文件后，会将该代码块移动到所有构造方法中首行
  创建对象执行构造方法时，执行构造代码块中的内容
  将重复的代码，抽取到代码块中，提高复用性
3.静态代码块：位于类中方法外，加入static关键字；随着类的加载而执行，最开始执行
  可以在类加载的时候做一些数据初始化的操作
 */
public class BlockTest {
    public static void main(String[] args) {
        {
            int num = 10;
            System.out.println(num);
        }
        //System.out.println(num);
        Student s1 = new Student();
        Student s2 = new Student(10);
    }
}
class Student{

    {
        System.out.println("Student中的构造代码块");
    }
    static {
        System.out.println("Student中的静态代码块");
    }
    public Student(){
        System.out.println("空参构造");
    }
    public Student(int num){
        System.out.println("带参构造");
    }
}
